<?php

/**
 * Subclass for performing query and update operations on the 'turno_estado' table.
 *
 *
 *
 * @package lib.model
 */
class TurnoEstadoPeer extends BaseTurnoEstadoPeer
{
  const SOLICITADO = "ST";
  const PRESENTE = "PR";
  const CANCELADO = "CL";
  const ATENDIDO = "AT";
  const FINALIZADO = "FN";
  const ESPERA = "ES";

  static public function getEstadosPosibles($turno) {
    $estados = array();
    switch ($turno->getEstado()->getCodigo()) {
        case "ST":
          $estado = TurnoEstadoPeer::getOneByCodigo(self::PRESENTE);
          if ($estado) $estados[] = $estado;
          $estado = TurnoEstadoPeer::getOneByCodigo(self::CANCELADO);
          if ($estado) $estados[] = $estado;
        break;
        case "PR":
          $estado = TurnoEstadoPeer::getOneByCodigo(self::ATENDIDO);
          if ($estado) $estados[] = $estado;
          $estado = TurnoEstadoPeer::getOneByCodigo(self::CANCELADO);
          if ($estado) $estados[] = $estado;
        break;
        case "AT":
          $estado = TurnoEstadoPeer::getOneByCodigo(self::ESPERA);
          if ($estado) $estados[] = $estado;
          $estado = TurnoEstadoPeer::getOneByCodigo(self::FINALIZADO);
          if ($estado) $estados[] = $estado;
        break;
        case "ES":
          $estado = TurnoEstadoPeer::getOneByCodigo(self::FINALIZADO);
          if ($estado) $estados[] = $estado;
        break;
    }
    return $estados;
  }
  static public function getOneByCodigo($codigo){
    $c = new Criteria();
    $c->add(self::CODIGO,$codigo);
    return self::doSelectOne($c);
  }
}
